package org.jeecg.modules.common.bean.mqtt;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Classname MqttCamelliaStatusBean
 * @Description TODO
 * @Date 2023/3/2 10:47
 * @Created by 10835
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MqttCamelliaStatusBean {
    /*
    热水箱
     */
    private CamelliaSubDeviceStatus waterTank;
    /*
    压缩机
     */
    private CamelliaSubDeviceStatus compressor;
    /*
    真空泵
     */
    private CamelliaSubDeviceStatus vacuumPump;
    /*
    溶剂泵
     */
    private CamelliaSubDeviceStatus solventPump;
    /*
    热水泵
     */
    private CamelliaSubDeviceStatus waterPump;
    /*
    空压机
     */
    private CamelliaSubDeviceStatus airCompressor;
    /*
    制冷机
     */
    private CamelliaSubDeviceStatus refrigerator;
    /*
    亚临界总设备
     */
    private CamelliaSubDeviceStatus camelliaDevice;

    /*
    18个电磁阀状态
     */
    private CamelliaSolenoidStatus camelliaSolenoidStatus;

    /*
    亚临界设备状态：0停止 1运行 2急停
     */
    private int camelliaStatus;
    /*
    5 压力参数
     */
    private CamelliaDevicePressure camelliaDevicePressure;
    /*
    4 温度
     */
    private CamelliaDeviceTem camelliaDeviceTem;

    /**
     * 预处理程序 0
     * 抽真空程序 1、预处理进液程序 2、
     * 预处理浸泡程序 3、第1次出液程序~第n次出液程序（4-10）、
     * 第1次进液程序~第n次进液程序（11-16）、第1次浸泡程序~第n次浸泡程序（17-23）、
     * 尾次蒸发出液程序 24、尾次蒸发脱溶程序 25
     */
    private String[] processStep;
    @Data
    @AllArgsConstructor
    public static class CamelliaSubDeviceStatus{
        /*
        电流
         */
        private double current;
        /*
        功率
         */
        private double power;
        /*
        开关状态
         */
        private int state;
    }
    @Data
    @AllArgsConstructor
    public static class CamelliaSolenoidStatus{
        /*
        萃取罐平衡
         */
        private int exTankBalance;
        /*
        萃取罐抽气
         */
        private int exTankPump;
        /*
        萃取罐进液
         */
        private int exTankWaterIn;
        /*
       萃取罐溶剂进液
        */
        private int exTankSolIn;
        /*
        萃取罐排液
         */
        private int exTankWaterOut;
        /*
        蒸发罐 平衡 抽气 进液
         */
        private int evaTankBalance;
        private int evaTankPump;
        private int evaTankWaterIn;
        /*
        溶剂罐平衡
         */
        private int solTankBalance;

        /*
        溶剂罐排液
         */
        private int solTankWaterOut;

        /*
       过滤罐进液
        */
        private int filTankWaterIn;

        /*
       计量罐排液
       */
        private int meaTankWaterOut;

        /*
        压缩机进烃
         */
        private int compressHydIn;

        /*
        真空泵进烃
         */
        private int airCompressorHydIn;
        /*
        真空泵排烃
         */
        private int airCompressorHydOut;

        /*
        空气排出
         */
        private int airOut;
        /*
        萃取罐热水
         */
        private int exTankHotWater;
        /*
        蒸发罐热水
         */
        private int evaTankHotWater;

    }

    @Data
    @AllArgsConstructor
    public static class CamelliaDevicePressure {
        /*
        萃取罐、蒸发罐、管道、空气罐、溶剂罐
         */
        private double exPressure;
        private double evaPressure;
        private double pipelinePressure;
        private double airTankPressure;
        private double solTankPressure;
    }

    @Data
    @AllArgsConstructor
    public static class CamelliaDeviceTem {
        /*
        萃取罐、蒸发罐、热水、冷凝水管
         */
        private double exTem;
        private double evaTem;
        private double hotTankTem;
        private double airTankTem;
        private double conPipeTem;
    }



}
